實作是最好的練習,且有概念需要實做、操作才能更了解,我這邊會提供藍圖來做下載,可以當作每天的練習,匯入並且嘗試看看效果,下載我的藍圖,匯入進去操作看看。
匯入方法 Day09 使用藍圖
「啊,怎麼有錯誤...」
「流程怎麼卡住了」
在寫程式時,一開始最怕看到錯誤,但有時候有錯誤訊息是好事,還能從訊息中知道是什麼問題,更怕的是什麼訊息都沒給你,卻不是你要的結果。
那在 Make 中的 error 會怎麼顯示呢,會很明顯地給你一個警告符號,告訴你在哪個地方有錯誤,如下圖,而點開來就會有 error 的訊息,可以從中找出一些錯誤的端倪,例如在前面建立行事曆時,時間要使用標準格式而不能用 YYYY/MM/DD 這種格式,就要去檢查哪裡有錯,最後發現是時間上的格式打錯,就再去修正即可。
那下面的例子是我使用 http API 呼叫我的某一個流程,而這個流程會回傳的 Status 是 400(備註 1),也就是錯誤的部分,所以就會顯示錯誤訊息。
也可以看到下方有 Automatic error handler 他也有做一些教學。
那這樣我們的流程就會卡住,如果我們的流程是有時候會有錯誤,可能因為使用者輸入錯資訊導致等等,那有一個使用者輸入錯誤後,就導致該場景停下,而不會在接受訊息,這樣很困擾,所以當有錯誤時就要做錯誤處理。
Make 中提供 Break, Commit, Ignore, Resume, Rollback
在 Make.com(前稱為 Integromat)中,錯誤處理是自動化工作流中的重要部分。當模組在執行過程中出現錯誤時,可以使用不同的錯誤處理選項來決定如何繼續工作流。以下是 Break、Commit、Ignore、Resume、和 Rollback 的簡介:
功能 | 簡介 | 作用場景 |
---|---|---|
Break | 中斷工作流的執行,發生錯誤後不再繼續運行後續模組。 | 當希望錯誤發生時立即停止所有操作。 |
Commit | 保存之前模組的變更,即使後續發生錯誤也不會回退已完成的操作。 | 確保已成功的操作不會被回退。 |
Ignore | 忽略當前錯誤並繼續執行後續模組。 | 當某些錯誤不會影響整體流程時使用。 |
Resume | 錯誤發生後允許從某個點重新啟動工作流,而不是從頭開始。 | 用於長時間運行的工作流,避免重複工作。 |
Rollback | 回退所有之前的操作,恢復到錯誤發生前的狀態,防止不完整數據的提交。 | 當必須保證數據完整性和一致性時使用。 |
先講一下如何添加 error handling,將可能會發生錯誤的模組(你想要增加錯誤處理的模組)點擊右鍵,就有一個添加錯誤處理,那就可以添加以上五種的方式。
首先我們添加 Break,可以看到可以設定要嘗試幾次,這就是重新嘗試的次數類似 retry 的功能,下方就是幾分鐘後要嘗試。(是說通常 Break 就是直接暫停,但是在 Make 中還有 Retry 的功用,可能常常會搞混...)
但 Break 設置後右上角會出現一個 Messages,這是要在 setting 中做設置。
點擊場景下方的 setting,我們要允許存取未完成的執行結果。
那執行後當然因為我們的 API 只會傳回錯誤,所以還是沒有執行成功。
回到場景的儀表板,上方有一個 INCOMPLETE EXECUTIONS,這就是未完成的那次結果被存下來在這邊,那我們可以去看有什麼問題,做解決,也不會不知道到底是哪次有問題,這裡就一目瞭然
因為 Break 有 Retry 的概念,當然他也可以設置不需要重新開始,直接將錯誤的執行存下來,通常就是會讓他在執行看看會不會成功,最終真的還是沒成功,就真的要做人工排除。通常用於 5XX 的伺服器錯誤,因為伺服器的錯誤通常在是那邊可能有一些斷線的情形,幾分鐘後就排除,或是你使用 API 量太多,例如你大量讀取 google sheet 資料,也會出現 503 的錯誤。
那我們明天再介紹其他的 Error Handling。
備註:
HTTP Status Codes:是網頁伺服器回應客戶端請求時返回的數字代碼,用於表示請求的結果。這些狀態碼按照範圍分成五大類:
以下是一些常見的 HTTP 狀態碼及其簡介:
狀態碼 | 類別 | 描述 |
---|---|---|
100 | 1xx | 繼續:請求尚未完成,請繼續發送。 |
200 | 2xx | 成功:請求成功並已回應。 |
400 | 4xx | 錯誤請求:請求無效,伺服器無法處理。 |
404 | 4xx | 找不到:伺服器找不到請求的資源。 |
500 | 5xx | 伺服器錯誤:伺服器遇到錯誤,無法完成請求。 |
若對 MAKE 自動化 有興趣的歡迎使用以下連結註冊,可以直接得到免費一個月的 pro 會員資格(不需要綁定信用卡等,只需使用該連結註冊而已)
免費一個月 pro 會員